JavaScript 设计模式之装饰器模式
介绍
- 为对象添加新功能
- 不改变其原有的结构和功能
实例
- 手机壳
UML
演示
1 | class Circle { |
场景
- ES7 装饰器
- core-decorator
装饰器方法
readonly
1 | function readonly(target, name, descriptor) { |
log
1 | function log(target, name, descriptor) { |
设计原则验证
- 将现有对象和装饰器进行分离,两者独立存在
- 符合开放封闭原则